<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xml:lang="en" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Concept: Workspace</title>
<meta name="uma.type" content="Concept">
<meta name="uma.name" content="workspace">
<meta name="uma.presentationName" content="Workspace">
<meta name="element_type" content="concept">
<meta name="filetype" content="description">
<meta name="role" content="">
<link rel="StyleSheet" href="./../../../css/default.css" type="text/css">
<script src="./../../../scripts/ContentPageResource.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageSubSection.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/ContentPageToolbar.js" type="text/javascript" language="JavaScript"></script><script src="./../../../scripts/contentPage.js" type="text/javascript" language="JavaScript"></script><script type="text/javascript" language="JavaScript">
					var backPath = './../../../';
					var imgPath = './../../../images/';
					var nodeInfo=null;
					contentPage.preload(imgPath, backPath, nodeInfo,  '', false, false, false);
				</script>
</head>
<body>
<div id="breadcrumbs"></div>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top"><a name="Top"></a>
<div id="page-guid" value="_0cEmAMlgEdmt3adZL5Dmdw"></div>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tr>
<td class="pageTitle" nowrap="true">Concept: Workspace</td><td width="100%">
<div align="right" id="contentPageToolbar"></div>
</td><td width="100%" class="expandCollapseLink" align="right"><a name="mainIndex" href="./../../../index.htm"></a><script language="JavaScript" type="text/javascript" src="./../../../scripts/treebrowser.js"></script></td>
</tr>
</table>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td class="pageTitleSeparator"><img src="./../../../images/shim.gif" alt="" title="" height="1"></td>
</tr>
</table>
<div class="overview">
<table width="97%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50"><img src="./../../../images/concept.gif" alt="" title=""></td><td>
<table class="overviewTable" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top">Workspace refers to storage areas where developers can implement and test code  in accordance with the project's adopted standards in relative isolation from  other developers.</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Relationships</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<th class="sectionTableHeading" scope="row">Related Elements</th><td class="sectionTableCell">
<ul>
<li>
<a href="./../../../practice.tech.continuous_integration.base/tasks/integrate_and_create_build_6191BF5D.html" guid="_kkZBgJOKEdyaRbFYa4AN4A">Integrate and Create Build</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<div class="sectionHeading">Main Description</div>
<div class="sectionContent">
<table class="sectionTable" border="0" cellspacing="0" cellpadding="0">
<tr valign="top">
<td class="sectionTableSingleCell"><p align="left">
    On small teams, shared workspaces may work fine, but you must coordinate activities between team members to avoid
    conflicts.
</p>
<p align="left">
    A better approach is for each developer to have a reasonably private area for the development and testing of their work
    products. This workspace should be insulated&nbsp;so that destabilizing or conflicting changes made by others do not
    interfere with&nbsp;progress. However, it should&nbsp;not be isolated to the extent that&nbsp;the developer's work is
    unavailable to the team.
</p>
<p align="left">
    In addition, insulated&nbsp;workspaces can be created for each test phase, such as integration testing and system
    testing. This approach to workspaces provides several benefits <a class="elementLinkWithUserText" href="./../../../core.default.nav_view.base/guidances/supportingmaterials/references_C6FF2A8D.html" guid="__nHToFndEd2EdJKkAyeBng">[WIB04]</a>:
</p>
<ul>
    <li>
        <p>
            Developers can develop, test, and debug software changes without being affected by others team
            members'&nbsp;changes until they are ready. When ready, developers can update their insulated environments to
            test the latest changes from other developers.
        </p>
    </li>
    <li>
        <p>
            With separate workspaces for integration and system testing, a team could use a methodology that ensures
            changes have passed integration testing before other developers get them, thereby minimizing the time spent
            solving integration problems.&nbsp; For example, if two team members check in incompatible changes without
            realizing it, and both changes are immediately available to everyone on the team, all team members&nbsp;might
            waste time trying to resolve the broken build. Conversely, if both changes must pass integration testing before
            being distributed to others, the problem could be found and fixed by one person with minimal disruption to the
            team.
        </p>
    </li>
    <li>
        <p>
            By setting up an integration area to collect and build the latest changes, the team can integrate early and
            often. That is a well-known best practice for reducing overall cost and time to deliver software projects.
        </p>
    </li>
    <li>
        <p>
            The system test area, which is used for preparing releases, is insulated from developers' ongoing changes and
            contains only configurations that have passed integration testing. This lets you control the content of the
            release while still enabling developers to continue working.
        </p>
    </li>
</ul></td>
</tr>
</table>
</div>
<table class="copyright" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="copyright"><p> This program and the accompanying materials are made available under the<br />
  <a href="http://www.eclipse.org/org/documents/epl-v10.php" target="_blank">Eclipse 
  Public License V1.0</a>, which accompanies this distribution. </p><p/><p> <a class="elementLink" href="./../../../core.default.release_copyright.base/guidances/supportingmaterials/openup_copyright_C3031062.html" guid="_UaGfECcTEduSX6N2jUafGA">OpenUP Copyright</a></p></td>
</tr>
</table>
</td>
</tr>
</table>
</body>
<script type="text/javascript" language="JavaScript">
				contentPage.onload();
			</script>
</html>
